#if !defined(ximera_gui_cegui_slider_hpp)
#define ximera_gui_cegui_slider_hpp

// -----------------------------------------------------------

#include <ximera/gui/islider.hpp>
#include <ximera/gui/cegui/windowtemplate.hpp>

#include <elements/CEGUISlider.h>

namespace ximera { namespace gui { namespace cegui
{
    class XIMERA_PLUGIN_API Slider : public WindowTemplate<ISlider>
    {
    public:
        Slider(CEGUI::Slider* ceguiSlider)
            : WindowTemplate<ISlider>(ceguiSlider) {}

        virtual Int32 value() const;
        virtual void value(Int32 val);

        virtual Int32 stepSize() const;
        virtual void stepSize(Int32 value);

        virtual Int32 maxValue() const;
        virtual void maxValue(Int32 value);

        CEGUI::Slider* ceguiSlider() const { return static_cast<CEGUI::Slider*>(_ceguiWindow); }
    };
}}}

// -----------------------------------------------------------

#endif
